package com.yociyy.admin.model.entity;

import com.yociyy.common.entity.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.*;
import java.io.Serializable;
import java.util.List;

/**
 * 角色信息 entity
 * 
 * @author Y.yang
 * @date 2019-12-02
 */
@Data
@Accessors(chain = true)
@Table(name = "base_role")
public class BaseRole extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 用户ID
	 */
	@Id
	@Column(name = "id")
	@GeneratedValue(generator = "JDBC")
	protected Long id;

	/**
	 * 角色名称
	 */
	@Column(name = "role_name")
	private String roleName;

	/**
	 * 角色权限字符串
	 */
	@Column(name = "role_code")
	private String roleCode;

	/**
	 * 显示顺序
	 */
	@Column(name = "sorted")
	private Integer sorted;

	/**
	 * 数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）
	 */
	@Column(name = "data_scope")
	private String dataScope;

	/**
	 * 角色状态（0正常 1停用）
	 */
	@Column(name = "enabled")
	private String enabled;

	/**
	 * 备注
	 */
	@Column(name = "remark")
	private String remark;

	/**
	 * 菜单组
	 */
	@Transient
	private List<Long> menuIds;

	/**
	 * 部门组（数据权限）
	 */
	@Transient
	private Long[] deptIds;
}
